From 374f4235d5e78def23d92b05f3d0257c1f609725 Mon Sep 17 00:00:00 2001 From: Rodrigo Kassick Date: Wed, 19 Jun 2024 23:04:08 +0200 Subject: [PATCH] Fix display-buffer-override-next-command (bug#71654) * lisp/window.el (display-buffer-override-next-command): display-buffer-overriding-action's car can be either a function or a list of functions. When a function, (push action (car display-buffer-overriding-action)) will create a cons-cell (action . function) instead of a list. In the clear-fun callback, trying to (delq action (car display-buffer-overriding-action)) causes an wrong-type-argument error. Copyright-paperwork-exempt: yes --- lisp/window.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lisp/window.el b/lisp/window.el index 0cfe7df73d5..cb2eea11d13 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -9305,6 +9305,9 @@ to deactivate this overriding action." (when echofun (add-hook 'prefix-command-echo-keystrokes-functions echofun)) (setq switch-to-buffer-obey-display-actions t) + (unless (listp (car display-buffer-overriding-action)) + (setcar display-buffer-overriding-action + (list (car display-buffer-overriding-action)))) (push action (car display-buffer-overriding-action)) exitfun)) -- 2.30.2